在初始化WebOffice文档应用时,aliyun.config
方法会返回一个JS-SDK实例,JS-SDK提供了一些实用的实例属性和方法。
JS-SDK实例属性列表
实例属性 | 类型 | 说明 |
version | string | JS-SDK版本。 |
mainVersion | string | WebOffice版本。 |
url | string | 文档在线预览地址。 |
iframe | HTMLElement | iframe DOM对象。 |
tabs | object | Tab工具栏操作。 |
tokenData | object | Token数据。 |
Application | object | 高级API对象。 |
JS-SDK实例方法列表
实例方法 | 说明 |
save | 主动保存。 |
ready | 加载高级API。 |
destroy | 销毁JS-SDK实例。 |
ApiEvent | 事件处理对象。 |
on | 监听事件(旧)。 |
off | 取消监听事件(旧)。 |
setToken | 设置Token鉴权。 |
setCommandBars | 动态更新组件状态。 |
setCooperUserColor | 动态设置协作用户的光标颜色。 |
executeCommandBar | 执行组件命令。 |
主动保存
您可以设置在恰当的时机主动触发保存接口,用于辅助保存文件。
使用方式
const instance = aliyun.config({
url: '在线文档预览地址',
});
const result = await instance.save();
返回示例
{
result: 'nochange', // 保存状态。
size: 15302, // 文件大小,单位byte。
version: 16, // 版本。
}
状态说明
保存状态 | 描述 |
ok | 版本保存成功,可在历史版本中查看。 |
nochange | 文档无更新,无需保存版本。 |
SavedEmptyFile | 暂不支持保存空文件。 触发场景:内核保存完后文件为空。 |
SpaceFull | 空间已满。 |
QueneFull | 保存中请勿频繁操作。 触发场景:服务端处理保存队列已满,正在排队。 |
fail | 保存失败。 |
销毁实例
instance.destroy()
是一个销毁实例的方法。
JS-SDK会通过创建一个iframe来和WebOffice通讯。当不需要JS-SDK时,可以通过instance.destroy()
的方法来销毁iframe对应的DOM节点,从而销毁JS-SDK 实例,进而关闭WebOffice页面的展示。
Tab工具栏操作
如下通过代码介绍Tabs
相关接口如何使用。
getTabs
描述:获取所有头部Tab(PC端)。
使用:
const tabs = await instance.tabs.getTabs();
返回数据:
[ { tabKey: 'StartTab', text: '开始' }, { tabKey: 'InsertTab', text: '插入' }, { tabKey: 'ReviewTab', text: '审阅', commandBarId: 'TabReviewWord' }, { tabKey: 'PageTab', text: '页面' }, ]
switchTab
描述:控制头部Tab切换(PC端)。
使用:
await instance.tabs.switchTab({ tabKey: 'InsertTab' }); // 切换到“插入”Tab
参数:tabKey表示当前tabKey值。
tabSwitch
描述:Tab切换事件回调。
使用:
// 监听切换事件。 instance.on('tabSwitch', (data) => { console.log('tabSwitch:', data); }); // 自动调用方法将Tab切换到“插入”Tab await instance.tabs.switchTab({ tabKey: 'InsertTab' });
返回数据:
{ tabKey: 'InsertTab' }